#!/usr/bin python3
# -*- coding: utf-8 -*-
"""  地图任务的公共方法   """
from gtm_server.common.constant import SERVER_APP_KEY


# 百度地图web服务的url定义类
class BaiDuWebServerUrl(object):
    """
    百度服务url接口的定义类
    必要参数：[
        ori_latitude: 起点纬度
        ori_longitude: 起点经度

        de_latitude： 终点纬度
        de_longitude： 终点经度
    ]
    """

    def __init__(self, ori_latitude=None, ori_longitude=None, de_latitude=None, de_longitude=None):
        self.ori_latitude = ori_latitude
        self.ori_longitude = ori_longitude
        self.de_latitude = de_latitude
        self.de_longitude = de_longitude

    def create_way_api(self, type="drive"):
        """
        生成创建路线规划的请求url

        return api_url
        """
        # 默认生成驾驶类型
        Type = "driving"
        # 生成骑行类型
        if type == "ride":
            Type = "riding"

        api = f"http://api.map.baidu.com/direction/v2/{Type}?origin={self.ori_latitude},{self.ori_longitude}&destination={self.de_latitude},{self.de_longitude}&ak={SERVER_APP_KEY}"

        print(api)
        return api

    def transform_points_api(self):
        """
        转换经纬度为地理位置
        """
        api = f"http://api.map.baidu.com/reverse_geocoding/v3/?ak={SERVER_APP_KEY}&output=json&coordtype=wgs84ll&location={self.ori_latitude},{self.ori_longitude}"

        print(api)
        return api

    def transform_address_api(self, address):
        """
        转换地理位置为经纬度
        """
        api = f"http://api.map.baidu.com/geocoding/v3/?address={address}&output=json&ak={SERVER_APP_KEY}&callback="
        print(api)
        return api






